<?php


class Base
{

    public function __call( $method, $arg_array )
    {
        // php 判断是否为 ajax 请求  http://www.cnblogs.com/sosoft/
        if(isset($_SERVER["HTTP_X_REQUESTED_WITH"]) && strtolower($_SERVER["HTTP_X_REQUESTED_WITH"])=="xmlhttprequest"){
            // ajax 请求的处理方式
            $this->returnFail('您的工具走丢了');
        }else{
            // 正常请求的处理方式
            $url = $_SERVER['SERVER_NAME'];

            Header("Location: http://{$url}");

            exit;
        };

    }

	protected function returnSucess($data = [])
	{
		$this->ajaxReturn([
			'status' => 1,
			'msg'    => 'ok',
			'data'   => $data
		]);
	}
	
    protected function returnFail($msg = 'error', $data = [])
	{
		$this->ajaxReturn([
			'status' => 0,
			'msg'    =>  $msg,
			'data'   => $data
		]);
	}
	

    /**
     * Ajax方式返回数据到客户端
     * @access protected
     * @param mixed $data 要返回的数据
     * @param String $type AJAX返回数据格式
     * @param int $json_option 传递给json_encode的option参数
     * @return void
     */
    protected function ajaxReturn($data, $type = '', $json_option = 0)
    {
        if (empty($type)) $type = 'JSON';
        switch (strtoupper($type)) {
            case 'JSON' :
                // 返回JSON数据格式到客户端 包含状态信息
                header('Content-Type:application/json; charset=utf-8');
                exit(json_encode($data, $json_option));
            case 'EVAL' :
                // 返回可执行的js脚本
                header('Content-Type:text/html; charset=utf-8');
                exit($data);
            default     :
                // 返回JSON数据格式到客户端 包含状态信息
                header('Content-Type:application/json; charset=utf-8');
                exit(json_encode($data, $json_option));
        }
    }

}


//$act = $_REQUEST['act'];
//$obj = new Base();
//$obj->$act();